package com.ysh.quartz;
import com.ysh.quartz.job.TestJob;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

/**
 * 袁胜虎 on 2022/9/1 15:24
 */
public class TestMain {
    public static void main(String[] args)throws Exception{
        //创建一个触发器,也就是什么时间执行
        Trigger trigger = TriggerBuilder.newTrigger()
//                .startAt()//指定在某个事件运行
                .startNow()//程序运行的时候立即开始任务
                .withIdentity("name1","group1")//给任务一个唯一的标识，可以随便写，group和name来代表整合任务
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
//                        .repeatForever() //无限循环执行
                        .withRepeatCount(5)//重复指定的次数
                                .withIntervalInSeconds(5)//执行完一次之后等5秒再次执行
                    )
                .build();
        //创建任务
        JobDetail detail = JobBuilder.newJob(TestJob.class).withIdentity("jobname", "jobgroup1").build();

        //将时间和任务整合到一起 需要一个调度器
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        //通过调度器将 任务和触发器绑定到一起
        scheduler.scheduleJob(detail,trigger);
        //执行任务
        scheduler.start();
    }
}
